home *** CD-ROM | disk | FTP | other *** search
/ TPUG - Toronto PET Users Group / TPUG Users Group CD / TPUG Users Group CD.iso / COMAL / B-Book Series / (k)b5.d64 / sort'ids.l < prev    next >
Text File  |  2007-02-28  |  1KB  |  42 lines

  1. 9000 //
  2. 9010 // 3 SORT IDS ROUTINES FOLLOW
  3. 9020 //  ALSO REQUIRES QUICKSORT
  4. 9030 //
  5. 9040 PROC READ'IDS 
  6. 9050 PRINT "READING DISK ID FILE"
  7. 9060 ID'FILE:=9
  8. 9070 OPEN FILE ID'FILE,MASTER$+"DISK'IDS.DATA",READ
  9. 9080 COUNT:=0
  10. 9090 WHILE NOT EOF(ID'FILE) AND COUNT<MAX'NUM'DISKS DO
  11. 9100 COUNT:+1
  12. 9110 READ FILE ID'FILE: ID$(COUNT)
  13. 9120 ENDWHILE 
  14. 9130 CLOSE FILE ID'FILE
  15. 9140 ENDPROC READ'IDS
  16. 9150 //
  17. 9160 PROC SORT'IDS 
  18. 9170 PRINT "SORTING DISK IDS"
  19. 9180 QUICKSORT(ID$,1,COUNT,2)
  20. 9190 ENDPROC SORT'IDS
  21. 9200 //
  22. 9210 PROC WRITE'SORTED 
  23. 9220 NEW'FILE:=10
  24. 9230 PRINT "WRITING NEW SORTED DISK ID FILE"
  25. 9240 DELETE MASTER$+"NEW'IDS"
  26. 9250 OPEN FILE NEW'FILE,MASTER$+"NEW'IDS",WRITE
  27. 9260 LAST'ID$:=""
  28. 9270 FOR X:=1 TO COUNT DO
  29. 9280 IF ID$(X)>LAST'ID$ THEN // AVOID DUPLICATES
  30. 9290 WRITE FILE NEW'FILE: ID$(X)
  31. 9300 LAST'ID$:=ID$(X)
  32. 9310 ENDIF 
  33. 9320 ENDFOR X
  34. 9330 CLOSE FILE NEW'FILE
  35. 9340 DELETE MASTER$+"OLD'IDS.DATA"
  36. 9350 PASS "R"+MASTER$+"OLD'IDS.DATA=DISK'IDS.DATA"
  37. 9360 PASS "R"+MASTER$+"DISK'IDS.DATA=NEW'IDS"
  38. 9370 ENDPROC WRITE'SORTED
  39. 9380 //
  40. 9390 // END OF SORT ID ROUTINES
  41. 9400 //
  42.